package com.xinruke.hostels.reservation.interfaces.dto.pms;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinruke.hostels.reservation.interfaces.vo.PersonalBookingRoomVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @ClassName PersonalBookingDTO
 * @CreateDate 2019/7/1
 * @Author FengXinQiang
 * @Version V1.0.0.0
 * @Decription 个人预订请求
 */
@ApiModel("个人预订请求")
@Data
public class PersonalBookingDTO {
    @ApiModelProperty(value = "预抵时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @NotNull(message = "预抵时间不能为空")
    private Date ruzhushijian;

    @ApiModelProperty(value = "预离时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @NotNull(message = "预离时间不能为空")
    private Date likaishijian;

    @ApiModelProperty(value = "保留时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @NotNull(message = "保留时间不能为空")
    private Date baoliushijian;

    @ApiModelProperty(value = "联系人", required = true)
    @NotNull(message = "联系人不能为空")
    private String yudingrenxingming;

    @ApiModelProperty(value = "电话", required = true)
    @NotNull(message = "电话不能为空")
    private String yudingrendianhua;

    @ApiModelProperty(value = "证件类型: 1身份证，2军官证", required = true)
    @NotNull(message = "证件类型不能为空")
    private Byte zhengjianleixing;

    @ApiModelProperty(value = "证件号码", required = true)
    @NotNull(message = "证件号码不能为空")
    private String zhengjianhao;

    @ApiModelProperty(value = "入住类型 1:全天；2长包；3自用；4免费", required = true)
    @NotNull(message = "入住类型不能为空")
    private Byte ruzhuleixing;

    @ApiModelProperty(value = "备注")
    private String beizhu;

    @ApiModelProperty(value = "房间集合", required = true)
    @NotNull(message = "房间集合不能为空")
    private List<PersonalBookingRoomVO> roomVOList;

}
